package com.cloud.common.satoken.core.config;

import cn.dev33.satoken.config.SaTokenConfig;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Primary;

@Configuration
public class SaTokenConfigure {

    // 此配置会覆盖 application.yml 中的配置
    @Bean
    @Primary
    public SaTokenConfig getSaTokenConfigPrimary() {
        SaTokenConfig config = new SaTokenConfig();
        config.setTokenName("token");             // token名称 (同时也是cookie名称)
        config.setTimeout(30 * 24 * 60 * 60);     // token有效期，单位s 默认30天
        config.setActiveTimeout(1800);          // token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒 -1表示永不过期
        config.setTokenStyle("uuid");             // token风格
        config.setIsLog(true);                    // 是否输出操作日志
        config.setIsReadCookie(true);             //是否自动写入和读取cookie 浏览器cookie模式
        config.setIsReadHeader(false);            //是否自动读取header 前后端分离时使用
        config.setIsWriteHeader(false);           //是否自动写入header 前后端分离时使用
        return config;
    }
}
